package 位运算;

public class BitManipulation {

    public char 转小写(char c) {
        char ans = (char) (c | ' ');
        return ans;
    }

    public char 转大写(char c) {
        char ans = (char) (c & '_');
        return ans;
    }

    public char 大小写互转(char c) {
        char ans = (char) (c ^ ' ');
        return ans;
    }

    public boolean 判断两个数是否异号(int x, int y) {
        boolean ans = ((x ^ y) < 0);
        return ans;
    }


    /**
     * 消除数字 n 的二进制表示中的最后一个 1
     * 0b0011000 -> 0b0010000
     *
     * 可以用来统计数字中有多少个1，计数消到n为0嘛
     */
    public int 消除数字最后一个1(int n) {
        return n & (n - 1);
    }

    public static void main(String[] args) {
        BitManipulation bitManipulation = new BitManipulation();

        System.out.println(bitManipulation.转小写('A'));
    }


}
